.timeline {
    position: relative;
}

.timeline:before {
    content: "";
    position: absolute;
    height: 100%;
    width: 3px;
    left: 210px;
    background-color: #CCC;
}

.timeline li {
    position: relative;
    margin-top: 30px;
    margin-bottom: 30px;
}

.timeline li .panel {
    margin: 0px;
    display: inline-block;
}

.timeline li .panel-body:after {
    clear: none;
}

.timeline .tl-time {
    display: inline-block;
    width: 150px;
    text-align: right;
    float: left;
}

.timeline .tl-time h3 {
    margin-top: 0px;
}

.timeline .tl-content {
    margin-left: 270px;
}

.timeline .tl-icon {
    position: absolute;
    font-size: 28px;
    padding: 12px;
    margin-left: 33px;
    border: 3px solid #ccc;
    border-radius: 50px;
    color: #fff;
    box-shadow: inset 0px 0px 0px 2px #fff;
}

@media (max-width: 768px) {

    .timeline:before {
        left: 27px;
    }

    .timeline .tl-icon {
        left: 0px;
        top: 0px;
        margin: 0px;
    }

    .timeline .tl-content {
        margin-left: 70px;
    }

    .timeline .tl-time {
        display: block;
        float: none;
        width: auto;
    }

    .timeline li .panel {
        display: block;
    }

}